package com.deyuanyun.pic.pbf.app.domain;

import com.alibaba.fastjson.annotation.JSONField;
import com.deyuanyun.pic.common.util.ObjectUtil;
import com.deyuanyun.pic.common.util.StringUtils;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description  AB型套筒补强修复表单
 * @author Jerry
 * @date 2016-06-30
 */
public class PostABSleeveForm extends BaseDTO {
    /**
     * 主键
     */
    private String id;

    /**
     * 创建时间
     */
    private Date createDate;

    /**
     * 创建人
     */
    @JSONField(name ="UserID")
    private String createUser;

    /**
     * 创建备注
     */
    @JSONField (name ="Remark")
    private String createRemark;

    /**
     * 更新时间
     */
    private Date updateDate;

    /**
     * 更新人员
     */
    private String updateUser;

    /**
     * 更新原因
     */
    private String updateRemark;

    /**
     * 逻辑删除字段
     */
    private Short deleted;

    /**
     * 版本
     */
    private Short vsersion;

    /**
     * 管沟ID
     */
    @JSONField(name ="ProcessID")
    private String trenchId;

    /**
     * 套筒信息-套筒尺寸-壁厚（mm）
     */
    @JSONField(name ="Thick")
    private BigDecimal wallThickness;

    /**
     * 套筒信息-套筒尺寸-长度（mm）
     */
    @JSONField(name ="Length")
    private BigDecimal length;

    /**
     * 套筒信息-材质：Q195；Q215；Q235；Q255；Q275；Q295；Q345；Q390；Q420；Q460；20；L175Ⅰ类(A25Ⅰ类)；L175Ⅱ类(A25Ⅱ类)；L210(A)；L245(B)；L290(X42)；L320(X46)；L360(X52)；L390(X56)；L415(X65)；L485(X70)；L555(X80)；S360；A3F；A53
     */
    @JSONField(name ="MaterialId")
    private String material;

    /**
     * 环境温度（℃）
     */
    @JSONField(name ="EnvTemperature")
    private BigDecimal environmentalTemperature;

    /**
     * 管表温度（℃）
     */
    @JSONField(name ="SurfaceTemperature")
    private BigDecimal surfaceTemperature;

    /**
     * 焊材牌号
     */
    @JSONField(name ="WeldMaterialCode")
    private String weldingGrade;

    /**
     * 焊接方法
     */
    @JSONField(name ="WeldWay")
    private String weldingMethod;

    /**
     * 记录人
     */
    private String recrder;

    /**
     * 记录时间
     */
    private Date recordTime;

    /**
     * @return 主键
     */
    public String getId() {
        return id;
    }

    /**
     * @param id
     *            主键
     */
    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    /**
     * @return 创建时间
     */
    public Date getCreateDate() {
        return createDate;
    }

    /**
     * @param createDate
     *            创建时间
     */
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    /**
     * @return 创建人
     */
    public String getCreateUser() {
        return createUser;
    }

    /**
     * @param createUser
     *            创建人
     */
    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    /**
     * @return 创建备注
     */
    public String getCreateRemark() {
        return createRemark;
    }

    /**
     * @param createRemark
     *            创建备注
     */
    public void setCreateRemark(String createRemark) {
        this.createRemark = createRemark == null ? null : createRemark.trim();
    }

    /**
     * @return 更新时间
     */
    public Date getUpdateDate() {
        return updateDate;
    }

    /**
     * @param updateDate
     *            更新时间
     */
    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    /**
     * @return 更新人员
     */
    public String getUpdateUser() {
        return updateUser;
    }

    /**
     * @param updateUser
     *            更新人员
     */
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser == null ? null : updateUser.trim();
    }

    /**
     * @return 更新原因
     */
    public String getUpdateRemark() {
        return updateRemark;
    }

    /**
     * @param updateRemark
     *            更新原因
     */
    public void setUpdateRemark(String updateRemark) {
        this.updateRemark = updateRemark == null ? null : updateRemark.trim();
    }

    /**
     * @return 逻辑删除字段
     */
    public Short getDeleted() {
        return deleted;
    }

    /**
     * @param deleted
     *            逻辑删除字段
     */
    public void setDeleted(Short deleted) {
        this.deleted = deleted;
    }

    /**
     * @return 版本
     */
    public Short getVsersion() {
        return vsersion;
    }

    /**
     * @param vsersion
     *            版本
     */
    public void setVsersion(Short vsersion) {
        this.vsersion = vsersion;
    }

    /**
     * @return 管沟ID
     */
    public String getTrenchId() {
        if(StringUtils.isNotEmpty(getProjectId())){
            return trenchId;
        }
        return null;
    }

    /**
     * @param trenchId
     *            管沟ID
     */
    public void setTrenchId(String trenchId) {
        this.trenchId = trenchId == null ? null : trenchId.trim();
    }

    /**
     * @return 套筒信息-套筒尺寸-壁厚（mm）
     */
    public BigDecimal getWallThickness() {
        return wallThickness;
    }

    /**
     * @param wallThickness
     *            套筒信息-套筒尺寸-壁厚（mm）
     */
    public void setWallThickness(BigDecimal wallThickness) {
        this.wallThickness = wallThickness;
    }

    /**
     * @return 套筒信息-套筒尺寸-长度（mm）
     */
    public BigDecimal getLength() {
        return length;
    }

    /**
     * @param length
     *            套筒信息-套筒尺寸-长度（mm）
     */
    public void setLength(BigDecimal length) {
        this.length = length;
    }

    /**
     * @return 套筒信息-材质：Q195；Q215；Q235；Q255；Q275；Q295；Q345；Q390；Q420；Q460；20；L175Ⅰ类(A25Ⅰ类)；L175Ⅱ类(A25Ⅱ类)；L210(A)；L245(B)；L290(X42)；L320(X46)；L360(X52)；L390(X56)；L415(X65)；L485(X70)；L555(X80)；S360；A3F；A53
     */
    public String getMaterial() {

        return  ObjectUtil.isNotNullEmpty(material.split("#")) ? material.split("#")[1] :null;
    }

    /**
     * @param material
     *            套筒信息-材质：Q195；Q215；Q235；Q255；Q275；Q295；Q345；Q390；Q420；Q460；20；L175Ⅰ类(A25Ⅰ类)；L175Ⅱ类(A25Ⅱ类)；L210(A)；L245(B)；L290(X42)；L320(X46)；L360(X52)；L390(X56)；L415(X65)；L485(X70)；L555(X80)；S360；A3F；A53
     */
    public void setMaterial(String material) {
        this.material = material == null ? null : material.trim();
    }

    /**
     * @return 环境温度（℃）
     */
    public BigDecimal getEnvironmentalTemperature() {
        return environmentalTemperature;
    }

    /**
     * @param environmentalTemperature
     *            环境温度（℃）
     */
    public void setEnvironmentalTemperature(BigDecimal environmentalTemperature) {
        this.environmentalTemperature = environmentalTemperature;
    }

    /**
     * @return 管表温度（℃）
     */
    public BigDecimal getSurfaceTemperature() {
        return surfaceTemperature;
    }

    /**
     * @param surfaceTemperature
     *            管表温度（℃）
     */
    public void setSurfaceTemperature(BigDecimal surfaceTemperature) {
        this.surfaceTemperature = surfaceTemperature;
    }

    /**
     * @return 焊材牌号
     */
    public String getWeldingGrade() {
        return weldingGrade;
    }

    /**
     * @param weldingGrade
     *            焊材牌号
     */
    public void setWeldingGrade(String weldingGrade) {
        this.weldingGrade = weldingGrade == null ? null : weldingGrade.trim();
    }

    /**
     * @return 焊接方法
     */
    public String getWeldingMethod() {
        return weldingMethod;
    }

    /**
     * @param weldingMethod
     *            焊接方法
     */
    public void setWeldingMethod(String weldingMethod) {
        this.weldingMethod = weldingMethod == null ? null : weldingMethod.trim();
    }

    /**
     * @return 记录人
     */
    public String getRecrder() {
        return recrder;
    }

    /**
     * @param recrder
     *            记录人
     */
    public void setRecrder(String recrder) {
        this.recrder = recrder == null ? null : recrder.trim();
    }

    /**
     * @return 记录时间
     */
    public Date getRecordTime() {
        return recordTime;
    }

    /**
     * @param recordTime
     *            记录时间
     */
    public void setRecordTime(Date recordTime) {
        this.recordTime = recordTime;
    }
}
